﻿namespace WebAppIdentity.Middlewares
{
	public class TokenMiddleware
	{
		private readonly RequestDelegate _next;

		public TokenMiddleware(RequestDelegate next)
		{
			_next = next;
		}

		public async Task InvokeAsync(HttpContext context)
		{
			// 从请求头中获取 token
			if (context.Request.Headers.TryGetValue("Authorization", out var token))
			{
				// 将 token 存入 HttpContext.Items
				context.Items["Token"] = token.ToString().Replace("Bearer ", ""); // 去除 "Bearer " 前缀，如果有的话
			}
			// 调用管道中的下一个中间件
			await _next(context);
		}
	}
}
